1. Field of the Invention
This invention relates generally to model-driven software development and, in particular, to a method and apparatus for guided resolution of inter-model inconsistencies, for example between business process models and object life cycles.
2. Description of the Background
During the development of a business process management application, business process models and object life cycles provide two complementary views on the system being developed. Business process models show the system in terms of tasks that have to be performed, as well as control and data flow between these tasks. On the other hand, object life cycles focus on one specific data type and how states of objects of this type change across different business process.
To male the best use of the business process model and object life cycle views in a modeling tool, the user should be able to switch back and forth between them, as well as make changes in either of the views. Making changes to one of the views introduces inconsistencies between the underlying models. As there is often more than one way to propagate a change in one model to the other, the introduced inconsistencies cannot be resolved automatically and appropriate resolutions need to be selected by the user. This situation arises not just for business process models and object life cycles, but whenever different models are created as multiple views on the same system.
Given a collection of business process models and object life cycles, or other models that represent different views on the same system, inconsistencies between them can be detected using state-of-the-art technology. However, the subsequent process of inconsistency resolution gives rise to the following problems: (1) a large number of inconsistencies overwhelming the user; and (2) excessive context switching required during resolution. The first problem makes it difficult for the user to comprehend the overall consistency status of these models and to organize the resolution process. The second problem leads to an increased amount of time required for the resolution process. This is because, for example, context switching in graphical modeling tools requires displaying the relevant model editor and navigating to different parts of models for inconsistency visualization, which tales a noticeable amount of time even using the latest available tools. Furthermore, at each context switch, the user is required to spend time studying the new inconsistency context.
What is needed, therefore, is a way to provide guided resolution for inter-model inconsistencies that minimizes the number of required context switches.